package com.jhm.ai.service;

import com.jhm.ai.domain.AiChatMessage;
import com.jhm.ai.domain.ChatRequest;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

public interface IAiChatMessageService {
    /**
     * 查询单个Message对象
     * @param id
     * @return
     */
    public AiChatMessage selectAiChatMessageById(Long id);

    /**
     * 查询Message对象列表
     * @param aiChatMessage
     * @return
     */
    public List<AiChatMessage> selectAiChatMessageList(AiChatMessage aiChatMessage);

    /**
     * 新增Message对象
     * @param aiChatMessage
     * @return
     */
    public int insertAiChatMessage(AiChatMessage aiChatMessage);

    /**
     * 修改Message对象
     * @param aiChatMessage
     * @return
     */
    public int updateAiChatMessage(AiChatMessage aiChatMessage);

    /**
     * 批量删除Message对象
     * @param ids
     * @return
     */
    public int deleteAiChatMessageByIds(Long[] ids);

    /**
     * 删除Message对象
     * @param id
     * @return
     */
    public int deleteAiChatMessageById(Long id);

    /**
     * 通过sessionId查询消息列表
     * @param sessionId
     * @return
     */
    public List<AiChatMessage> selectMessagesBySessionId(Long sessionId);

    /**
     * 处理SSE聊天
     * @param chatRequest
     * @param username
     * @param requestId
     * @param writer
     * @throws IOException
     */
    public void handleSseChat(ChatRequest chatRequest, String username, String requestId, PrintWriter writer) throws IOException;
}
